package com.kingdee.eas.custom.rcbudget.ekingwin.www.esb.QMYX_SUNAC_363_easBrokerageBillApprove;

import java.io.Serializable;
import javax.xml.namespace.QName;
import org.apache.axis.description.ElementDesc;
import org.apache.axis.description.TypeDesc;
import org.apache.axis.encoding.Deserializer;
import org.apache.axis.encoding.Serializer;
import org.apache.axis.encoding.ser.BeanDeserializer;
import org.apache.axis.encoding.ser.BeanSerializer;

public class QMYX_SUNAC_363_easBrokerageBillApprove
  implements Serializable
{
  private String batchNo;
  private String billNo;
  private String billCreateTime;
  private Object __equalsCalc = null;

  private boolean __hashCodeCalc = false;

  private static TypeDesc typeDesc = new TypeDesc(QMYX_SUNAC_363_easBrokerageBillApprove.class, true);

  static {
    typeDesc.setXmlType(new QName("http://www.ekingwin.com/esb/QMYX_SUNAC_363_easBrokerageBillApprove", ">QMYX_SUNAC_363_easBrokerageBillApprove"));
    ElementDesc elemField = new ElementDesc();
    elemField.setFieldName("batchNo");
    elemField.setXmlName(new QName("http://www.ekingwin.com/esb/QMYX_SUNAC_363_easBrokerageBillApprove", "batchNo"));
    elemField.setXmlType(new QName("http://www.w3.org/2001/XMLSchema", "string"));
    elemField.setNillable(false);
    typeDesc.addFieldDesc(elemField);
    elemField = new ElementDesc();
    elemField.setFieldName("billNo");
    elemField.setXmlName(new QName("http://www.ekingwin.com/esb/QMYX_SUNAC_363_easBrokerageBillApprove", "billNo"));
    elemField.setXmlType(new QName("http://www.w3.org/2001/XMLSchema", "string"));
    elemField.setNillable(false);
    typeDesc.addFieldDesc(elemField);
    elemField = new ElementDesc();
    elemField.setFieldName("billCreateTime");
    elemField.setXmlName(new QName("http://www.ekingwin.com/esb/QMYX_SUNAC_363_easBrokerageBillApprove", "billCreateTime"));
    elemField.setXmlType(new QName("http://www.w3.org/2001/XMLSchema", "string"));
    elemField.setNillable(false);
    typeDesc.addFieldDesc(elemField);
  }

  public QMYX_SUNAC_363_easBrokerageBillApprove()
  {
  }

  public QMYX_SUNAC_363_easBrokerageBillApprove(String batchNo, String billNo, String billCreateTime)
  {
    this.batchNo = batchNo;
    this.billNo = billNo;
    this.billCreateTime = billCreateTime;
  }

  public String getBatchNo()
  {
    return this.batchNo;
  }

  public void setBatchNo(String batchNo)
  {
    this.batchNo = batchNo;
  }

  public String getBillNo()
  {
    return this.billNo;
  }

  public void setBillNo(String billNo)
  {
    this.billNo = billNo;
  }

  public String getBillCreateTime()
  {
    return this.billCreateTime;
  }

  public void setBillCreateTime(String billCreateTime)
  {
    this.billCreateTime = billCreateTime;
  }

  public synchronized boolean equals(Object obj)
  {
    if (!(obj instanceof QMYX_SUNAC_363_easBrokerageBillApprove)) return false;
    QMYX_SUNAC_363_easBrokerageBillApprove other = (QMYX_SUNAC_363_easBrokerageBillApprove)obj;
    if (obj == null) return false;
    if (this == obj) return true;
    if (this.__equalsCalc != null) {
      return this.__equalsCalc == obj;
    }
    this.__equalsCalc = obj;

    boolean _equals = 
      ((this.batchNo == null) && (other.getBatchNo() == null)) || (
      (this.batchNo != null) && 
      (this.batchNo.equals(other.getBatchNo())) && (
      ((this.billNo == null) && (other.getBillNo() == null)) || (
      (this.billNo != null) && 
      (this.billNo.equals(other.getBillNo())) && (
      ((this.billCreateTime == null) && (other.getBillCreateTime() == null)) || (
      (this.billCreateTime != null) && 
      (this.billCreateTime.equals(other.getBillCreateTime())))))));
    this.__equalsCalc = null;
    return _equals;
  }

  public synchronized int hashCode()
  {
    if (this.__hashCodeCalc) {
      return 0;
    }
    this.__hashCodeCalc = true;
    int _hashCode = 1;
    if (getBatchNo() != null) {
      _hashCode += getBatchNo().hashCode();
    }
    if (getBillNo() != null) {
      _hashCode += getBillNo().hashCode();
    }
    if (getBillCreateTime() != null) {
      _hashCode += getBillCreateTime().hashCode();
    }
    this.__hashCodeCalc = false;
    return _hashCode;
  }

  public static TypeDesc getTypeDesc()
  {
    return typeDesc;
  }

  public static Serializer getSerializer(String mechType, Class _javaType, QName _xmlType)
  {
    return 
      new BeanSerializer(
      _javaType, _xmlType, typeDesc);
  }

  public static Deserializer getDeserializer(String mechType, Class _javaType, QName _xmlType)
  {
    return 
      new BeanDeserializer(
      _javaType, _xmlType, typeDesc);
  }
}